package cn.com.git.admin.service;

import cn.com.git.admin.service.dto.*;
import cn.com.git.admin.service.query.*;
import cn.com.git.common.model.DataTree;
import cn.com.git.common.model.ResultMsg;
import cn.com.git.common.model.ResultPage;

import java.util.List;

/**
* System API接口
* @author zhangzhenfu
* @Description
* @date 2020/5/8
*/
public interface SystemService {
    /*=================================*/
    /*============ SysResource =============*/
    /*=================================*/
    ResultPage<SysResourceListDTO> listSysResource(SysResourceListQuery query);
    ResultMsg<List<DataTree>> listTreeSysResource(SysResourceListQuery query);
    ResultMsg<SysResourceDetailDTO> findSysResource(Integer id);
    ResultMsg<SysResourceSaveDTO> addSysResource(SysResourceSaveDTO saveDTO);
    ResultMsg<SysResourceSaveDTO> editSysResource(SysResourceSaveDTO saveDTO);
    ResultMsg deleteSysResource(Integer id);

    /*=================================*/
    /*============ SysOperateLog =============*/
    /*=================================*/
    ResultPage<SysOperateLogListDTO> listSysOperateLog(SysOperateLogListQuery query);
    ResultMsg<SysOperateLogDetailDTO> findSysOperateLog(Integer id);
    ResultMsg<SysOperateLogSaveDTO> addSysOperateLog(SysOperateLogSaveDTO saveDTO);
    ResultMsg<SysOperateLogSaveDTO> editSysOperateLog(SysOperateLogSaveDTO saveDTO);
    ResultMsg deleteSysOperateLog(Integer id);

    /*=================================*/
    /*============ SysNoteDict =============*/
    /*=================================*/
    ResultPage<SysNoteDictListDTO> listSysNoteDict(SysNoteDictListQuery query);
    ResultMsg<SysNoteDictDetailDTO> findSysNoteDict(Integer id);
    ResultMsg<SysNoteDictSaveDTO> addSysNoteDict(SysNoteDictSaveDTO saveDTO);
    ResultMsg<SysNoteDictSaveDTO> editSysNoteDict(SysNoteDictSaveDTO saveDTO);
    ResultMsg deleteSysNoteDict(Integer id);

    /*=================================*/
    /*============ SysMessage =============*/
    /*=================================*/
    ResultPage<SysMessageListDTO> listSysMessage(SysMessageListQuery query);
    ResultMsg<SysMessageDetailDTO> findSysMessage(Integer id);
    ResultMsg<SysMessageSaveDTO> addSysMessage(SysMessageSaveDTO saveDTO);
    ResultMsg<SysMessageSaveDTO> editSysMessage(SysMessageSaveDTO saveDTO);
    ResultMsg deleteSysMessage(Integer id);

    /*=================================*/
    /*============ SysKeyValue =============*/
    /*=================================*/
    ResultPage<SysKeyValueListDTO> listSysKeyValue(SysKeyValueListQuery query);
    ResultMsg<SysKeyValueDetailDTO> findSysKeyValue(Integer id);
    ResultMsg<SysKeyValueSaveDTO> addSysKeyValue(SysKeyValueSaveDTO saveDTO);
    ResultMsg<SysKeyValueSaveDTO> editSysKeyValue(SysKeyValueSaveDTO saveDTO);
    ResultMsg deleteSysKeyValue(Integer id);
}
